package main

import "fmt"

func main() {
	//Stringer 由任何具有 String 方法的值实现，该方法定义了该值的“本机”格式。
	//String 方法用于打印作为操作数传递给任何接受字符串的格式或无格式打印机（如 Print）的值。

	a := Animal{
		Name: "php",
		Age:  18,
	}

	fmt.Println(a)
	//php (18)
}

type Animal struct {
	Name string
	Age  uint
}

func (a Animal) String() string {
	return fmt.Sprintf("%v (%d)", a.Name, a.Age)
}
